import Taro, { Component, Config } from '@tarojs/taro'
import { View, Text, Button } from '@tarojs/components'
import './index.less'

export default class Index extends Component {

    componentWillMount() {
        console.log('componentWillMount')
    }

    componentDidMount() {
        console.log('componentDidMount')
    }

    componentWillUnmount() {
        console.log('componentWillUnmount')
    }
    onJump(data) {
        console.log(11, data)
    }
    componentDidShow() {
        console.log('componentDidShow')
    }

    componentDidHide() {
        console.log('componentDidHide')
    }

    /**
     * 指定config的类型声明为: Taro.Config
     *
     * 由于 typescript 对于 object 类型推导只能推出 Key 的基本类型
     * 对于像 navigationBarTextStyle: 'black' 这样的推导出的类型是 string
     * 提示和声明 navigationBarTextStyle: 'black' | 'white' 类型冲突, 需要显示声明类型
     */
    config: Config = {
        navigationBarTitleText: '中心页面'
    }

    render() {
        return (
            <View className='index'>
                <Button onClick={this.onJump.bind(this, {
                    name: '尹春华',
                    id: 1
                })}>Hello world!</Button>
            </View>
        )
    }
}
